package cn.elves.model.activity.service.stateflow;

public interface StateHandle {


    /**
     * 活动提审
     *
     * @param activityId   活动ID
     * @param curState 当前状态
     * @return 执行结果
     */
    Boolean doArraignment(Long activityId, Integer curState);

    /**
     * 审核通过
     *
     * @param activityId   活动ID
     * @param curState 当前状态
     * @return 执行结果
     */
    Boolean doCheckPass(Long activityId, Integer curState);

    /**
     * 审核拒绝
     *
     * @param activityId   活动ID
     * @param curState 当前状态
     * @return 执行结果
     */
    Boolean doCheckRefuse(Long activityId, Integer curState);

    /**
     * 撤审撤销
     *
     * @param activityId   活动ID
     * @param curState 当前状态
     * @return 执行结果
     */
    Boolean doCheckRevoke(Long activityId, Integer curState);

    /**
     * 活动关闭
     *
     * @param activityId   活动ID
     * @param curState 当前状态
     * @return 执行结果
     */
    Boolean doClose(Long activityId, Integer curState);

    /**
     * 活动开启
     *
     * @param activityId   活动ID
     * @param curState 当前状态
     * @return 执行结果
     */
    Boolean doOpen(Long activityId, Integer curState);

    /**
     * 活动执行
     *
     * @param activityId   活动ID
     * @param curState 当前状态
     * @return 执行结果
     */
    Boolean doDoing(Long activityId, Integer curState);
}
